package cn.kgc.entity;

import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 会员收货地址(UmsMemberReceiveAddress)表实体类
 *
 * @author 石浩杰
 * @since 2023-01-02 10:09:12
 */
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName(value = "ums_member_receive_address")
@SuppressWarnings("serial")
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class UmsMemberReceiveAddress extends Model<UmsMemberReceiveAddress> implements Serializable {

    //主键
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * member_id
     **/
    @TableField(value = "member_id")
    private Long memberId;


    /**
     * 收货人姓名
     **/
    @TableField(value = "name")
    private String name;


    /**
     * 电话
     **/
    @TableField(value = "phone")
    private String phone;


    /**
     * 邮政编码
     **/
    @TableField(value = "post_code")
    private String postCode;


    /**
     * 省份/直辖市
     **/
    @TableField(value = "province")
    private String province;


    /**
     * 城市
     **/
    @TableField(value = "city")
    private String city;


    /**
     * 区
     **/
    @TableField(value = "region")
    private String region;


    /**
     * 详细地址(街道)
     **/
    @TableField(value = "detail_address")
    private String detailAddress;


    /**
     * 省市区代码
     **/
    @TableField(value = "areacode")
    private String areacode;


    /**
     * 是否默认
     **/
    @TableField(value = "default_status")
    private Short defaultStatus;


    //创建时间
    @TableField(value = "creationdate", fill = FieldFill.INSERT)
    @JsonIgnore
    private Date creationdate;


    //修改时间
    @TableField(value = "modifydate", fill = FieldFill.UPDATE)
    @JsonIgnore
    private Date modifydate;


    //逻辑删除标志
    @TableLogic
    @JsonIgnore
    @TableField(fill = FieldFill.INSERT)
    private int deleted;


    //版本
    @Version
    private int version;


}
